package com.itcoon.transform4j.demo.web.vo;

import com.itcoon.transform4j.demo.domain.Order;
import com.itcoon.transform4j.demo.domain.Status;
import com.itcoon.transform.base.annotation.AssembleModel;
import com.itcoon.transform.base.annotation.AssembleModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.util.List;

@AssembleModel(from = Order.class)
public interface OrderVIO {

    @AssembleModelProperty
    Long getId();

    @AssembleModelProperty
    BigDecimal getAmount();

    @AssembleModelProperty
    List<Status> getStatuses();

    @AssembleModelProperty
    LocalDateTime getPayTime();

    @AssembleModelProperty
    ZonedDateTime getCreationTime();
}
